#define _GNU_SOURCE
#include "app_pool.h"
#include "log/log.h"
#include "stdlib.h"
#include "unistd.h"
#include "stdio.h"

// 任务
int Task_fun(void *arg)
{
    char *name = (char *)arg;
    log_debug("线程池中的线程(%d)正在执行任务：%s", gettid(), name);
    return 0;
}


int main(int argc, char const *argv[])
{
    // 1. 初始化
    app_pool_init(5);

    printf("线程池初始化成功\n");

    // 2. 添加任务
    for (int i = 0; i < 5; i++)
    {
        // 用sprintf
        char *name = malloc(5);
        sprintf(name, "Task%d", i+1);
        app_pool_addTask(Task_fun, name);
    }
    
    // 等待线程池中的任务执行完成
    sleep(1);
    // 3. 销毁线程池
    app_pool_destroy();
    printf("线程池销毁成功\n");

    return 0;
}